package com.wst.system.server.service;

import com.wst.system.server.entity.SysFileGroup;
import com.wst.system.server.entity.dto.SysFileGroupListDto;
import com.wst.system.server.entity.dto.SysFileGroupTreeDto;
import com.wst.system.server.entity.vo.SysFileGroupVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wst.system.config.exception.GlobalExcetion;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wst.system.server.entity.vo.PageSearchVo;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author X.I.O
 * @since 2025-03-03
 */
public interface SysFileGroupService extends IService<SysFileGroup> {

    public SysFileGroup saveSysFileGroup(SysFileGroup sysfilegroup) throws GlobalExcetion;

    public SysFileGroup updateSysFileGroupById(SysFileGroup sysfilegroup) throws GlobalExcetion;

    public SysFileGroup saveOrUpdateSysFileGroup(SysFileGroupVo sysfilegroupVo) throws GlobalExcetion;

    public IPage<SysFileGroup> page(PageSearchVo vo) throws GlobalExcetion;

    public List<Integer> getChildIdsByParentId(String parentId) throws GlobalExcetion;

    public List<SysFileGroupListDto> listAll();

    public List<SysFileGroupTreeDto> childListByUid(Serializable uid) throws GlobalExcetion;

}